package com.zjsru.plan2024.oneday;

/**
 * 2414. 最长的字母序连续子字符串的长度
 * @Author: cookLee
 * @Date: 2024-09-20
 */
public class LongestContinuousSubstring {

    /**
     * 输入：s = "abacaba"
     * 输出：2
     * 解释：共有 4 个不同的字母序连续子字符串 "a"、"b"、"c" 和 "ab" 。
     * "ab" 是最长的字母序连续子字符串。
     * \
     * 输入：s = "abcde"
     * 输出：5
     * 解释："abcde" 是最长的字母序连续子字符串。
     * \
     * @param args
     */
    public static void main(String[] args) {
        LongestContinuousSubstring longestContinuousSubstring = new LongestContinuousSubstring();
        String s = "abacaba";
        System.out.println(longestContinuousSubstring.longestContinuousSubstring(s));
    }

    /**
     * 模拟
     * @param s
     * @return int
     */
    public int longestContinuousSubstring(String s) {
        //至少有一个字母是满足条件的,此时长度为1
        int ans = 1;
        //计数连续的字母长度
        int cnt = 1;
        for (int i = 1; i < s.length(); i++) {
            if (s.charAt(i - 1) + 1 == s.charAt(i)) {
                cnt++;
                ans = Math.max(ans, cnt);
            } else {
                //重置字母长度
                cnt = 1;
            }
        }
        return ans;
    }

}
